Communication system for adding data transmission origin information to data

ABSTRACT

Gateway  3  receives mobile station data corresponding to mobile station  2  from switching center in mobile packet communication network  1  by NWMP, which is a communication protocol for administration data in mobile packet communication network  1 . Mobile station  2  transmits and receives HTTP data in HTTP via gateway  3 . In transmitting HTTP data from mobile station  2  to server  5 , gateway  3  adds mobile station data corresponding to mobile station  2  as an expansion header of HTTP data. Mobile station  2  does not falsify mobile station data because the added mobile station data is administered in corresponding to identification data used in establishing wireless connection to mobile packet communication network for mobile station  2 , and is transmitted and received in NWMP unavailable by mobile station  2 . As a result, server  5  may trust mobile station data add to HTTP data transmitted from mobile station  2.

TECHNICAL FIELD

[0001] The present invention relates to a communication system, datarelay apparatus, data relay method, program, and storage medium whichprovide means for adding data source information relating to a mobilestation, to transmitted data.

BACKGROUND ART

[0002] A mobile station may include data (hereinafter referred to asmobile station data) related to the mobile station, such as locationinformation. The mobile station data may be added to data (hereinafterreferred to as user data) transmitted from the mobile station to anothercommunication apparatus. A communication apparatus that receives userdata and mobile station data is able to respond based on the addedmobile station data.

[0003] A mobile station may also perform text based data communicationwith other communication apparatus. The text based data communicationconforms with a communication protocol using text data such as HypertextTransfer Protocol (HTTP). Such a mobile station is more convenient touse, since it is able to easily establish data compatibility with acommunication apparatus. In contrast, mobile stations that use binarydata to perform data communication with other communication apparatusmay have more difficulty establishing data compatibility.

SUMMARY

[0004] As mentioned above, a mobile station that adds mobile stationdata to user data is convenient to use since the mobile station is ableto receive a response on the basis of the data of the mobile station.However, a mobile station capable of adding mobile station data may havemobile station data that has been falsified by a user of the mobilestation. This possibility exists because mobile station data is added atthe mobile station. Thus, a communication apparatus may receive userdata to which unreliable mobile station data has been added. This is asignificant problem in communication services that use data (hereinafterreferred to as the identification data) for identifying a mobile stationon the basis of mobile station data. Furthermore, if user data is intext format conforming to HTTP or the like, although such a format ismore convenient to use, it is also easier for a user to falsify mobilestation data than is the case with binary data. The problem ofreliability of mobile station data will now be described using anexample of a mail-order service.

[0005] First, a user of a mobile station starts a browser program thatis provided in the mobile station, and uses HTTP to browse siteinformation. The user then opens a site. The site may be a mail-ordercompany in the communication network to which the mobile stationbelongs. Alternatively, the site may be a mail-order company in acommunication network connected to the communication network to whichthe mobile station belongs. To make a purchase from the site, the userinputs an order number, a purchase amount, a delivery address, and adesired delivery time into an order form on the site. The user thenperforms an “execute” operation. As a result of the execute operation,the browser program creates user data. The user data consists of theinformation input by the user. Mobile station data in the form of thetelephone number of the mobile station is added. The user data is inHypertext Markup Language (HTML).

[0006] The browser program may transmit the user data to the server ofthe mail-order company as soon as the browser program creates user datato which the telephone number of the mobile station is added. The serverof the mail-order company that receives the product order and the userdata arranges for delivery of the ordered products. Simultaneously, theserver of the mail-order company transmits a bill collection request tothe server of a wireless carrier to charge for the product. The wirelesscarrier provides mobile communication services to the mobile station.The telephone number of the mobile station is added to the billcollection request.

[0007] When the server of the carrier receives the bill collectionrequest, the amount charged in the bill collection request is added tothe communication fee for the communication services provided to themobile station. A total charge payable by the user of the mobile stationis calculated. As a result, the purchased products are charged to theuser of the mobile station along with the communication fee. Thisproduct charge is divided between the carrier and the mail-ordercompany.

[0008] However, such a system is open to abuse. Namely, a user of amobile station may order products from a mail-order service using falseinformation. One way in which a user may abuse such a system is asfollows: First, the user of the mobile station suspends operation of thebrowser program. The browser program may be suspended by means ofmodification of the browser program. The browser program may besuspended just before user data, which includes the telephone number ofthe mobile station, is transmitted to the server of the mail-ordercompany.

[0009] While the browser is suspended, the user of the mobile stationstarts a text editor program and rewrites the telephone number of themobile station to a different number. The user then resumes operation ofthe browser program. The browser program transmits the edited user datato the server of the mail-order company. The server of the mail-ordercompany receives the edited user data and processes the bill collectionof the product charge from the carrier. However, the product charge isdebited incorrectly because the telephone number has been edited.

[0010] In a data communication system of the prior art, availableservices are restricted due to a lack of reliability of mobile stationdata. In contrast, the present invention provides a communicationsystem, data relay apparatus, data relay method, program, and storagemedium having data source means capable of adding information related toa mobile station to transmitted data. More specifically, the presentinvention provides a communication system that comprises a plurality ofmobile stations served by a mobile communication network. In addition,the communication system comprises a communication apparatus served bythe mobile communication network, or by other related communicationnetworks, and a data relay apparatus that relays data between the mobilestation and the communication apparatus.

[0011] The data relay apparatus comprises: storage means for storing aplurality of sets of mobile station data. Each set of mobile stationdata corresponds to a respective one of the mobile stations. Inaddition, the data relay apparatus comprises user data receiving meansfor receiving user data to be transmitted to the communication apparatusfrom one of the mobile stations. Extracting means for extracting a setof mobile station data corresponding to one of the mobile stationshaving its data stored by the storage means is also included in the datarelay apparatus. The data relay apparatus also comprises adding meansfor adding all or a part of the mobile station data extracted by theextracting means, and transmitting means for transmitting user data tothe communication apparatus. All or a part of the mobile station data isadded by the adding means to the user data.

[0012] The present invention also provides a data relay apparatus thatcomprises receiving means for receiving user data to be transmitted tothe communication apparatus served by the mobile network, or otherrelated networks, from one of a plurality of mobile stations. Inaddition, the data relay apparatus includes extracting means, forextracting a set of data corresponding to the mobile station having itsdata stored by the storage means and adding means for adding all or apart of the mobile station data extracted by the extraction means. Thedata relay apparatus also comprises transmitting means for transmittinguser data to the communication apparatus. All or a part of the mobilestation data is added by the adding means to the user data.

[0013] In one embodiment, the data relay apparatus further comprises anidentification data receiving means for receiving identification data.The identification data is used to identify a mobile station when itconnects to the mobile network. The extraction means extracts a set ofmobile station data corresponding to the connecting mobile station inaccordance with the identification data.

[0014] In another embodiment, data processed by the data relay apparatusis a telephone number of a connecting mobile station. In anotherembodiment, the data relay apparatus comprises a receiving means forreceiving identification data used to identify a mobile station when itconnects to the communication apparatus. The extraction means extracts aset of mobile station data corresponding to the connecting mobilestation in accordance with the identification data of the mobilestation.

[0015] In another embodiment, the identification data which the datarelay apparatus processes is an IP address allocated to the connectingmobile station. In another embodiment, the data relay apparatus furthercomprises a determining means for determining whether user data receivedby the receiving means is data to which a specific kind of datacorresponding to the mobile station is added. A transmitting meanstransmits user data to which all or a part of a set of mobile stationdata is added by the adding means. The user data is transmitted onlywhen the determining means determines that the user data received by thereceiving means is not data to which the specific kind of datacorresponding to the mobile station is added.

[0016] In another embodiment, the data relay apparatus further comprisesa determining means for determining whether user data received by thereceiving means is data to which a specific kind of data correspondingto the mobile station is added. A disconnecting means disconnects thecommunication connection that the transmitting means establishes withthe communication apparatus to transmit user data. The communicationconnection is disconnected when the determining means determines thatthe user data received by the receiving means already has the specifickind of data corresponding to the mobile station added to the user data.

[0017] In another embodiment, the data relay apparatus comprises adetermining means for determining whether user data received by thereceiving means is data to which a specific kind of data correspondingto the mobile station is added. A deleting means in the data relayapparatus deletes the pre-added specific kind of data. The pre-addedspecific kind of data is deleted when the determining means determinesthat the user data received by the receiving means is data to which thespecific kind of data corresponding to the mobile station is added. Inanother embodiment, the data apparatus further comprises a determiningmeans for determining whether user data received by the user datareceiving means satisfy a predetermined condition. When the determiningmeans determines that the user data received by the user data receivingmeans does satisfy a predetermined condition, the adding means adds allor a part of the set of mobile station data.

[0018] In another embodiment, the set of mobile station data extractedby the extracting means includes data corresponding to at least one of atelephone number, an IP address, a model, location, a line speed, adelay of data transmission, and intensity in electric field of a radiowave of the mobile station. Alternatively, the extracting means mayinclude data that is personal information of the user. The correspondingdata is processed by the data relay apparatus.

[0019] In another embodiment, user data processed by the data relayapparatus is in a format conforming to HTTP. The adding means adds allor a part of a set of mobile station data to the user data as anextension header.

[0020] Additionally, the present invention provides a data relay systemwhich comprises: a storage step for storing a plurality of sets ofmobile station data. Each set of mobile station data corresponds to arespective one of a plurality of mobile stations. The data relay systemalso includes a user data receiving step for receiving user data to betransmitted to a communication apparatus served by the mobilecommunication network or by other related communication networks from aplurality of mobile stations. An extracting step for extracting a set ofmobile station data corresponding to the mobile station from a pluralityof sets of mobile station data is also included in the data relaysystem. The data relay system also includes an adding step for addingall or a part of mobile station data extracted by the extraction meansto the user data. In addition, the data relay system includes atransmitting step for transmitting to the communication apparatus userdata to which all or a part of mobile station data is added by theadding means.

[0021] The present invention also provides a computer program executableby a computer to store a plurality of sets of mobile station data. Eachset of mobile station data corresponds to a respective one of aplurality of mobile stations served by the mobile communication network.The computer program is also executable by a computer to receive userdata from mobile station. The user data may be transmitted to thecommunication apparatus served by the mobile communication network or byother related networks from connected mobile stations. In addition, thecomputer program is executable by a computer to extract a set of mobilestation data corresponding to the mobile station data from the storedplurality of mobile station data. The extracted set of mobile stationdata corresponds to the received user data. The computer program is alsoexecutable by a computer to add all, or a part of, the extracted set ofmobile station data to the communication apparatus, and to transmit userdata to which all or a part of the mobile station data is added, to thecommunication apparatus. A storage medium is also provided for storingthe computer program in a format readable by a computer.

[0022] These and other features and advantages of the invention willbecome apparent upon consideration of the following detailed descriptionof the presently preferred embodiments, viewed in conjunction with theappended drawings. The foregoing discussion has been provided only byway of introduction. Nothing in this section should be taken as alimitation on the following claims, which define the scope of theinvention.

BRIEF DESCRIPTION OF DRAWINGS

[0023]FIG. 1 shows an overall configuration of a communications systemaccording to one embodiment of the present invention.

[0024]FIG. 2 is a block diagram illustrating a configuration of thegateway according to one embodiment of the present invention.

[0025]FIG. 3 is a conceptual diagram showing a data format transmittedand received between a mobile station, a gateway, and a server accordingto one embodiment of the present invention.

[0026]FIG. 4 is a conceptual diagram showing data in a mobile stationdatabase according to one embodiment of the present invention.

[0027]FIG. 5 is a flowchart illustrating processing of mobile stationdata according to one embodiment of the present invention.

[0028]FIG. 6 is a diagram illustrating addition of mobile station datato data transmitted and received among a mobile station, a gateway, anda server.

DETAILED DESCRIPTION OF THE PRESENTLY PREFERRED EMBODIMENTS (1)Structure of the Data Communication System

[0029]FIG. 1 shows a portion of an overall configuration of an examplecommunication system according to one embodiment of the presentinvention. Mobile packet communication network 1 provides a packetcommunication service to a mobile station 2. The mobile packetcommunication network 1 comprises a plurality of mobile stations 2, aplurality of base stations 11, and a plurality of switching centers 12.To simplify illustration of the mobile packet communication network 1,only one instance of each entity is shown in the figure.

[0030] Mobile station 2 is a terminal device which a user of the mobilepacket network 1 may use to transmit and receive data in packets. Thedata packets may be received from and transmitted to anothercommunication apparatus (not shown). Mobile station 2 may establish awireless communication connection with the base station 11 that has thestrongest radio wave intensity. Mobile station 2 may perform packetcommunication with another communication apparatus via base station 11using the established communication connection.

[0031] Base station 11 may output a carrier wave for communicating withmobile station 2. Base station 11 may form a wireless cell (or wirelesscommunication area) that corresponds to a reachable range of the carrierwave. Base station 11 may establish a wireless communication connectionwith mobile station 2 that is present in a wireless cell served by basestation 11. Base station 11 may have a wired connection with switchingcenter 12, and maintain a constant connection with switching center 12.Base station 11 relays data transmitted and received between mobilestation 2 and switching center 12. Data transmission and receipt mayoccur when mobile station 2 performs packet communication with anothercommunication apparatus.

[0032] Switching center 12 is connected by wire to another switchingcenter via a gateway mobile switching center (not shown in the Figures).When mobile station 2 performs packet communication with another mobilecommunication apparatus, switching center 12 relays data transmitted andreceived between mobile station 2 and the other mobile communicationapparatus via base station 11. Data may be relayed after establishmentof a communication path between mobile station 2 and the other mobilecommunication apparatus via the switching centers.

[0033] Gateway 3 is connected to both a gateway mobile switching centeron the side of mobile packet communication network 1 and a gatewaymobile switching center on the side of wired communication network 4.Gateway 3 may relay data transmitted and received between mobile packetnetwork 1 and wired communication network 4. Data differing in format asa result of differences in protocols used to communicate within mobilepacket communication network 1 and wired communication network 4 may beconverted by gateway 3. Alternatively, a communication protocol that iscommon to both mobile packet communication network 1 and wiredcommunication network 4, such as HTTP may be used.

[0034]FIG. 2 is a block diagram illustrating an example configuration ofgateway 3. Gateway 3 comprises Central Processing Unit (CPU) 30, ReadOnly Memory (ROM) 31, Random Access Memory (RAM) 32, communicationinterface (communication I/F) 33, hard disk 34, and system bus 35. TheCPU 30 may be a microprocessor for controlling overall operation ofgateway 3. The CPU 30 may read a control program from a nonvolatilememory such as ROM 31, and execute the instructions within the controlprogram. ROM 31 may store the control program. A volatile memory such asRAM 32 may function as a work area for CPU 30. Communication I/F 33 mayinclude first and second input/output ports. One of the first and secondinput/output ports may be connected to mobile packet communicationnetwork 1 (FIG. 1). The other of the first and second input/output portsmay be connected, by wire, for example, to wired communication network 4(FIG. 1).

[0035] Communication I/F 33 may receive data, such as digital data, viaan electric signal from either of mobile packet communication network 1and wired communication network 4. Received digital data may betransmitted to CPU 30. The CPU 30 may also transmit, via an electricsignal, data, such as digital data, to each of mobile packetcommunication network 1 or wired communication network 4. Hard disk 34may be a large capacity nonvolatile storage device. Hard disk 34 maystore a database and a program. The database may record mobile stationdata for each mobile station 2. The program stored in hard disk 34 mayenable CPU 30 to execute instructions to add mobile station data to userdata transmitted from mobile station 2 to server 5 as will be describedlater. System bus 35 may be any form of signal transmission path forsignals that are transmitted, such as when gateway 3 transmits andreceives data.

[0036] Referring again to FIG. 1, wired communication network 4 may be awide area network connected to any of a plurality of other networks.Wired communication network 4 comprises gateway 3, server 5, and anynumber of other communication apparatus not shown in the figures. Inwired communication network 4, each communication apparatus maycommunicate with server 5 utilizing either a dedicated line orencryption to prevent unauthorized access to the data. Server 5functions as a gateway to provide and collect information bytransmitting and receiving data such as text data. The data may betransmitted to and from other communication apparatus in the othernetworks to the mobile station 2 via wired communication network 4 andmobile packet communication network 1.

(2) Outline of Transmitted Data

[0037]FIG. 3 is a conceptual illustration of an example data formattransmitted and received among mobile station 2, gateway 3, and server5. A variety of data (hereinafter referred to as Network ManagementProtocol (NWMP) data) for administering each mobile station 2 may becommunicated between switching center 12 (FIG. 1) and gateway 3 withinthe mobile packet communication network 1. The NWMP data may betransmitted and received in packet form using a communication protocol,such as User Datagram Protocol (UDP). Communication of the NWMP data mayconform to a communication protocol of an upper layer referred to as aNetwork Management Protocol (NWMP) layer.

[0038] Data, such as HTTP data, may be communicated between mobilestation 2 and gateway 3 and between gateway 3 and server 5 using acommunication protocol such as Transmission Control Protocol (TCP). Forexample, when a wireless communication connection is being establishedbetween mobile station 2 and base station 11, base station 11 maytransmit a telephone number of the mobile station 2 to the switchingcenter 12. The telephone number may be used as an identification numberof mobile station 2 in establishing a wireless communication connection.When switching center 12 receives the telephone number of mobile station2 from base station 11, switching center 12 may allocate a uniqueaddress, such as an IP address. A plurality of switching centers 12 maycooperate with each other to administer a unique address, such as an IPaddress. The IP address may be allocated to a communication apparatussuch as a switching center in mobile packet communication network 1. Theswitching centers 12 may also cooperatively administer an IP addressthat is allocated to each mobile station. Apart from these allocated IPaddresses, no other IP addresses may be used in the mobile packetcommunication network 1.

[0039] Switching center 12 may also compile and administer various kindsof information related to each mobile station 2 in the geographic areadefined by the wireless cell of a base station. The information mayinclude operational parameters such as line speed or an amount oftransmitted data. The information may be compiled and administered basedon an identification number (hereinafter referred as an ID) of basestation 11 and the telephone number of the mobile station 2.

[0040] As previously discussed, the telephone number of mobile station 2is administered by switching center 12 and may function asidentification data when mobile station 2 connects to mobile packetcommunication network 1. Accordingly, it is not possible for a user ofmobile station 2 to falsify the telephone number following connection tothe mobile packet communication network 1. In addition, the IP addressallocated to mobile station 2 is an IP address that is allocated to thetelephone number. Thus, mobile station 2 is not able to use any other IPaddress. For example, the user of mobile station 2 cannot transmit userdata, such as HTTP data, separate from the IP address allocated to thetelephone number. Furthermore, since information such as a line speedand/or an amount of transmitted data of each mobile station is compiledat switching center 12, use of the NWMP layer does not originate atmobile station 2. Therefore, a user of mobile station 2 may not falsifyNWMP data.

[0041] Mobile station 2 may communicate with server 5 after connectingto mobile packet communication network 1 using a communicationconnection (hereinafter referred to as TCP connection). The TCPconnection may be established using a protocol such as TCP betweenmobile station 2 and gateway 3. A TCP connection may also be establishedbetween gateway 3 and server 5. Gateway 3 may relay data over acommunication route established by the TCP connections between mobilestation 2 and gateway 3 and between server 5 and gateway 3. Using thiscommunication route, data, such as HTTP data, can be transmitted andreceived by mobile station 2 with server 5.

[0042] Gateway 3 may transmit to switching server 12 a request formobile station data corresponding to mobile station 2. The request maybe transmitted using NWMP. The request may be initiated when gateway 3relays data over the TCP connections established between mobile station2 and server 5. Simultaneously, gateway 3 may transmit the IP address ofmobile station 2, to switching center 12. The IP address of mobilestation 2 may be obtained during establishment of a connection betweenmobile station 2 and mobile packet communication network 1.

[0043] Switching center 12 may receive the IP address of mobile station2 within the mobile station data of mobile station 2. Switching center12 may then read data corresponding to the IP address received from NWMPdata of each administered mobile station 2. The data read by theswitching center 12 and the IP address may be transmitted as mobilestation data to gateway 3 using NWMP. Gateway 3 may store mobile stationdata, obtained as described above, in a mobile station database in harddisk 34 (FIG. 2).

[0044]FIG. 4 shows examples of data stored in a mobile station database.For simplicity, only an IP address and telephone number of each mobilestation 2, and an ID of base station 11 with which each mobile station 2establishes a connection, is shown. Data in the mobile station databaseadministered by the gateway 3 may be obtained from switching center 12.The highly reliable data from the switching center 12 is maintained inthe mobile station database of gateway 3. (3) Storage and Addition ofMobile Station Data

[0045] During operation, gateway 3 may receive mobile station data fromswitching center 12, and add the mobile station data to the user datawhen the user data is transmitted from mobile station 2 to server 5.

[0046]FIG. 5 is a flowchart illustrating example operation of thegateway 3 of FIG. 2 with reference to FIGS. 1 and 3. The operation isexecuted by CPU 30 in accordance with an adding program stored on thehard disk 34. CPU 30 determines if data has been received from mobilestation 2 via communication I/F 33 at step S100. The received data iseither NWMP data transmitted from switching center 12 in response to arequest from gateway 3, or user data, such as HTTP data transmitted frommobile station 2 to server 5. At step 101, CPU 30 determines whether thereceived data is NWMP data. If the received data is determined to beNWMP data, CPU 30 obtains mobile station data, namely an IP address andtelephone number of mobile station 2, and an ID of base station 11connected to mobile station 2 at step S102. The CPU 30 stores theobtained mobile station data in mobile station database at step S 103.

[0047] On the other hand, in step S101, if the received data isdetermined not to be NWMP data but is instead HTTP data, CPU 30 obtainsan IP address from the received HTTP data at step S104. At step S105,CPU 30 reads mobile station data related to the IP address that isstored in the mobile station database. The CPU 30 determines whethermobile station data has already been added as an expansion header to theHTTP data at step S106. If the mobile station data has not been added tothe HTTP data as an expansion header, CPU 30 adds the mobile stationdata, read from database, to the HTTP data as an expansion header atstep S107. At step S108, CPU 30 transmits the HTTP data that includesthe added mobile station data, to server 5.

[0048]FIG. 6 illustrates conceptually an example of the addition of themobile station data to user data that is HTTP data transmitted frommobile station 2 to server 5. As shown in FIG. 6, the mobile stationdata is added at gateway 3 as an expansion header in accordance withHTTP. Accordingly, no protocol modification for communication of theHTTP data in wired communication network 4 is necessary. If server 5that receives the HTTP data does not require mobile station data, theadded expansion header is ignored. Thus, no operational modifications ofserver 5 are necessary.

[0049] Referring again to FIG. 5, if mobile station data is determinedto have already been added as an expansion header to the HTTP data atstep S106, CPU 30 deletes the HTTP data at step S109. The CPU 30 deletesthe mobile station data since the mobile station data is supposed to beadded at gateway 3 to ensure integrity of the mobile station data. Thus,mobile station data that may have been added falsely at mobile station 2or at some midpoint in the data communication path between mobilestation 2 and gateway 3 is deleted. At step S110, CPU 30 disconnects theTCP connection with mobile station 2. The TCP connection establishedbetween mobile station 2 and gateway 3 is deemed to be insecure due tothe added mobile station data and is therefore terminated.

[0050] By the operation described above, it is not possible forunreliable user data to be transmitted to server 5. Thus, only highlyreliable mobile station data is transmitted to server 5.

(4) Effect of the Embodiment

[0051] Referring again to FIG. 1, as previously described, a telephonenumber of mobile station 2 may function as identification data whenconnecting the mobile station 2 to the mobile packet communicationnetwork 1. An IP address of the mobile station 2 is used in conjunctionwith this identification data for transmission to gateway 3.Accordingly, when mobile station 2 transmits user data such as HTTP datato server 5, mobile station data corresponding to the identificationdata of mobile station 2 is added to the HTTP data at gateway 3. As aconsequence, the mobile station data of mobile station 2 that is addedto the HTTP data received at server 5 is secure.

[0052] In contrast, if the mobile station data, which should be added atgateway 3, was added to the HTTP data before the HTTP data arrived atgateway 3, gateway 3 deletes the HTTP data as unreliable data. Inaddition, gateway 3 disconnects the TCP connection with mobile station2. It is therefore unlikely that any HTTP data that includes unreliablemobile station data is transmitted to server 5. Instead, mobile stationdata of mobile station 2 that is added to HTTP data received by server 5is reliable. Furthermore, since the mobile station data of mobilestation 2 is added to the HTTP data as an expansion header of HTTP, itis not necessary to modify a protocol used in either mobile packetcommunication network 1 or wired communication network 4. Thus, aconventional data communication system may be used with fewmodifications to implement the embodiment of the present invention.

[0053] B: Modifications

[0054] It is to be understood that the data system of the presentinvention is not restricted to the embodiments described above, and avariety of modifications that are within the technical scope of thepresent invention will be apparent to those skilled in the art. Forexample:

[0055] Modification 1

[0056] In this modification, unlike the above-described embodiments,gateway 3 adds to the user data only the mobile station data stored inthe mobile station database that is necessary. For example, in a servicein which server 5 requires only a telephone number of mobile station 2,gateway 3 adds only the telephone number data of mobile station 2 to theuser data transmitted from mobile station 2 to server 5. Thus, an IPaddress of mobile station 2, a base station ID, or any other data is notadded to the user data. Similarly, in a service in which server 5requires only a line speed of mobile station 2, gateway 3 adds only linespeed data related to mobile station 2 to the user data. Mobile station2 may add a request for the addition of mobile station data. The requestmay indicate the amount of mobile station data needed to be transmittedto server 5. Therefore, unnecessary transmission to server 5 of, forexample, a telephone number is prevented, and information security inthe data communication system is enhanced.

[0057] Modification 2

[0058] In this embodiment, gateway 3 adds to the user data transmittedfrom mobile station 2 to server 5 only mobile station data that isrequested to be added by-mobile station 2. For example, if the user dataconcerns only a general information matter, it is not necessary toidentify the source of the data. Thus, the addition of the mobilestation data is not required. Moreover, if the mobile station dataincludes personal information, it is preferable not to transmit suchdata to server 5. Thus, only necessary mobile station data is requestedby mobile station 2 to be added to the user data. Specifically, mobilestation 2 may add an expansion header to transmitted user data that isHTTP data when it is necessary for mobile station 2 to transmit the HTTPdata to server 5 with added mobile station data. The expansion headermay indicate a request for addition of mobile station data. Thus, CPU 30(FIG. 2) in gateway 3 adds mobile station data to the user data onlywhen a request for the addition of mobile station data is added.

[0059] Modification 3

[0060] In this embodiment, gateway 3 adds mobile station data to userdata only when a predetermined condition is satisfied. For example, acondition for addition of mobile station data may be “the firsttransmitted user data after establishing a communication route.” Forthis condition, mobile station data of mobile station 2 is added to onlythe first data transmitted from mobile station 2 to server 5 after acommunication route is established by gateway 3 between mobile station 2and server 5. Thus, mobile station data is not added to 5 user data thatis subsequently transmitted via the same communication route.

[0061] In another example, the condition for addition of mobile stationdata is “when mobile station data is changed.” Mobile station data istherefore added to user data transmitted from mobile station 2 to theserver 5 only when the mobile station data is changed in the mobilestation database at gateway 3. Likewise, conditions for addition ofmobile station data to the user data may be varied based on operationalparameters. For example, “when the power of the radio wave decreasesbelow predetermined level”; “when the service area in which the mobilestation exists is changed”; and/or “periodically with a certain timeinterval”. Such a condition is provided as a parameter in the operationprogram.

[0062] Modification 4

[0063] In this embodiment, gateway 3 stores a variety of kinds ofadministration data processed as NWMP data. In addition, mobile stationdata such as a telephone number of mobile station 2, an ID of basestation 11 connecting to mobile station 2, line speed, and communicationdata volume at mobile station 2 may be stored by gateway 3. Gateway 3can add such mobile station data as administration data to the userdata. Other data that can be added to the user data includes propagationdelay in data transmitted by mobile station 2, electric field intensitydata of the radio wave emitted by mobile station 2, and so on. Inactuality, data content of the mobile station data can be freelychanged.

[0064] Modification 5

[0065] In this embodiment, when gateway 3 adds mobile station data ofmobile station 2 to the user data transmitted from mobile station 2 tothe server 5, the identification data does not include an IP address ofmobile station 2. Alternatively, user data of a mobile station 2 andmobile station data in a mobile station database can be matched by usingan address, such as a Media Access Control (MAC) address allocated tomobile station 2.

[0066] Modification 6

[0067] In this embodiment, if mobile station data has already been addedto user data transmitted from mobile station 2 to the server 5, gateway3 does not delete the user data. Instead, gateway 3 reads the correctmobile station data from the mobile station database, and replaces anypre-added mobile station data with the mobile station data read from themobile station database. In addition, if mobile station data has alreadybeen added to the user data transmitted from mobile station 2, and it isnot necessary to retransmit the mobile station data to server 5, gateway3 deletes the mobile station data from the user data. Gateway 3 thentransmits the user data without the mobile station data to server 5. Itis to be noted in this case that a TCP connection between mobile station2 and gateway 3 is maintained.

[0068] Modification 7

[0069] In this embodiment, any protocol other than NWMP can be used fortransmitting and receiving administration data of a communicationnetwork in a mobile packet communication network. Further, any kind ofprotocol other than HTTP can be used for transmitting and receiving userdata in mobile packet communication network 1 and wired communicationnetwork 4. Further, gateway 3 can add mobile station data that includesdata related to the geographic location of mobile station 2 when data istransmitted and received. The geographic location data may be added inresponse to a data format that conforms with the protocol used.

[0070] Modification 8

[0071] In this embodiment, a sector ID of an area in which mobilestation 2 resides is recorded as geographic location data for mobilestation 2. The sector ID is a unit corresponding to a reachable range ofa carrier wave transmitted from base station 11 divided by a directivityof the carrier wave. The sector ID allows a geographic location of amobile station 2 in the range of base station 11 to be measured withprecision. In the data system of this embodiment, by adding the sectorID to the user data, gateway 3 can provide an information service on thebasis of the user's present or modified geographic position.

[0072] Modification 9

[0073] In this embodiment, mobile station 2 utilizes a GlobalPositioning System (GPS). In addition, mobile packet communicationnetwork 1 comprises a GPS server (not shown) that functions to receivegeographic location data of mobile station 2 and record the geographiclocation data. The GPS server transmits the geographic location data ofmobile station 2 periodically. By using such geographic location data,it is possible to more precisely measure a geographic location of mobilestation 2, as opposed to using a sector ID as described in theembodiment above.

[0074] When gateway 3 receives geographic location data of mobilestation 2 from the GPS server, gateway 3 records the received geographiclocation data in the mobile station database. In addition, gateway 3adds the received geographic location data to the user data transmittedfrom mobile station 2 to server 5.

[0075] Modification 10

[0076] In this embodiment, at gateway 3 a variety of storage devices maybe used, such as a CD-ROM drive, a Magneto Optical (MO) drive, and soon. CPU 30 reads a program stored in one such storage medium to performa variety of operations, such as addition of mobile station data to userdata.

[0077] Modification 11

[0078] In this embodiment, mobile packet communication network 1comprises a database server that functions to administer data within adatabase such as personal information of a user, usage history of mobilestation 2, and the like. A network operator obtains data of a mobilestation 2 from the database server. Such information may includepersonal information. The personal information may be submitted by auser of mobile station 2 in subscribing to the service and/or may beinformation obtained by questionnaire, as opposed to administration dataadministered by a switching center. Gateway 3 obtains such data from thedatabase as required, and adds the obtained data to user datatransmitted from mobile station 2 to server 5. The obtained data may beadded similar to adding mobile station data obtained from switchingserver 12 to the user data as previously discussed. Thus, data typesadministered by the database server can be freely changed. The datacommunication system of this embodiment is able to provide a greatervariety of services. For example, marketing services may be provided byutilizing statistical data about sites accessed by mobile station 2.

[0079] While various embodiments of the invention have been described,it will be apparent to those of ordinary skill in the art that many moreembodiments and implementations are possible that are within the scopeof this invention. Accordingly, the invention is not to be restrictedexcept in light of the attached claims and their equivalents.

1. A communication system, comprising: a plurality of mobile stationsserved by a mobile communication network, a communication apparatusserved by said mobile communication network or another communicationnetwork; a data relay apparatus which relays data transmitted between atleast one of said plurality of mobile stations and said communicationapparatus, wherein said data relay apparatus comprises: storage meansfor storing a plurality of sets of mobile station data, each set of saidplurality of sets of mobile station data corresponding to a respectiveone of said plurality of mobile stations; user data receiving means forreceiving user data to be transmitted to said communication apparatusfrom one of said plurality of mobile stations; extracting means forextracting a set of mobile station data corresponding to said one ofsaid plurality of mobile stations from said plurality of sets of mobilestation data; adding means for adding all or a part of said set ofmobile station data extracted by said extracting means to said userdata; transmitting means for transmitting said user data to which saidall or a part of said set of mobile station data is added by said addingmeans to said communication apparatus.
 2. A data relay apparatus,comprising: storage means for storing a plurality of sets of mobilestation data, each set of said plurality of sets of mobile station datacorresponding to a respective one of a plurality of mobile stations;user data receiving means for receiving user data to be transmitted to acommunication apparatus served by said mobile communication network oranother communication network from one of said plurality of mobilestations; extracting means for extracting a set of mobile station datacorresponding to said one of said plurality of mobile stations from saidplurality of sets of mobile station data; adding means for adding all ora part of said set of mobile station data extracted by said extractingmeans to said user data; transmitting means for transmitting said userdata to which said all or a part of said set of mobile station data isadded by said adding means, to said communication apparatus.
 3. A datarelay apparatus according to claim 2, further comprising: identificationdata receiving means for receiving identification data from said mobilecommunication network serving said plurality of mobile stations foridentifying said one of said plurality of mobile stations inestablishing a connection with said mobile communication network,wherein said extracting means extracts a set of mobile station datacorresponding to said one of said plurality of mobile stationsidentified by said identification data.
 4. A data relay apparatusaccording to claim 3, wherein said identification data is a telephonenumber of said one of said plurality of mobile stations.
 5. A data relayapparatus according to claim 2, further comprising: identification datareceiving means for receiving identification data from said mobilecommunication network serving said plurality of mobile stations foridentifying said one of said plurality of mobile stations inestablishing a connection with said communication apparatus, whereinsaid extracting means extracts a set of mobile station datacorresponding to said one of said plurality of mobile stationsidentified by said identification data.
 6. A data relay apparatusaccording to claim 5, wherein said identification data is an IP addressallocated to said one of said plurality of mobile stations.
 7. A datarelay apparatus according to claim 2, further comprising: determiningmeans for determining whether a specific kind of data corresponding tosaid one of said plurality of mobile stations is added to user dataprior to said user data being received by said user data receivingmeans, wherein said transmitting means transmits user data to which allor a part of said set of mobile station data is added by said addingmeans, to said communication apparatus, when said determining meansdetermines that said Is specific kind of data corresponding to said oneof said plurality of mobile stations is not added to user data prior tosaid user data being received by said user data receiving means.
 8. Adata relay apparatus according to claim 2, further comprising:determining means for determining whether a specific kind of datacorresponding to said one of said plurality of mobile stations is addedto user data prior to said user data being received by said user datareceiving means; disconnecting means for disconnecting a communicationconnection established with said communication apparatus by saidtransmitting means, for transmission of user data, when said determiningmeans determines that said specific kind of data corresponding to saidone of said plurality of mobile stations is added to user data prior tosaid user data being received by said user data receiving means.
 9. Adata relay apparatus according to claim 2, further comprising:determining means for determining whether a specific kind of datacorresponding to said one of said plurality of mobile stations is addedto user data prior to said user data being received by said user datareceiving means; deleting means for deleting said specific kind of datafrom user data added when said determining means determines that saidspecific kind of data corresponding to said one of said plurality ofmobile stations is added to user data prior to said user data beingreceived by said user data receiving means.
 10. A data relay apparatusaccording to claim 2, further comprising: determining means fordetermining whether user data received by said receiving means satisfy apredetermined condition, wherein said adding means adds all or a part ofsaid set of mobile station data to said user data when said determiningmeans determines user data received by said receiving means satisfiessaid predetermined condition.
 11. A data relay apparatus according toclaim 2, wherein said set of mobile station data extracted by saidextracting means comprises data corresponding to at least one of atelephone number, an IP address, a mobile station model, a location, aline speed, a propagation delay of data, and an electric field intensityof a radio wave emitted by said one of said plurality of mobilestations.
 12. A data relay apparatus according to claim 2, wherein saiduser data conforms to HTTP, and said adding means adds all or a part ofsaid set of mobile station data extracted by said extracting means tosaid user data as an expansion header.
 13. A method for relaying datacomprising the steps of: storing a plurality of sets of mobile stationdata, each set of said plurality of sets of mobile station datacorresponding to a respective one of a plurality of mobile stations;receiving user data to be transmitted to a communication apparatusserved by a mobile communication network or another communicationnetwork from one of said plurality of mobile stations; extracting a setof mobile station data corresponding to said one of said plurality ofmobile stations from said plurality of sets of mobile station datastored in said storage step; adding all or a part of said set of mobilestation data extracted by said extracting step to said user data;transmitting user data to which said all or a part of said set of mobilestation data is added by said adding step to said communicationapparatus;
 14. An application for causing a computer connected to amobile communication network to carry out the following steps: storing aplurality of sets of mobile station data, each set of said plurality ofsets of mobile station data corresponding to a respective one of aplurality of mobile stations served by said mobile communicationnetwork; receiving user data to be transmitted to a communicationapparatus served by said mobile communication network or anothercommunication network from one of said plurality of mobile stations;extracting a set of mobile station data corresponding to said one ofsaid plurality of mobile station from said plurality of sets of mobilestation data; adding extracted all or a part of said set of mobilestation data to said user data; transmitting user data to which said allor a part of said set of mobile station data is added to saidcommunication apparatus.
 15. A storage medium for storing an applicationwhich causes a computer connected to a mobile communication network tocarry out the following steps: storing a plurality of sets of mobilestation data, each set of said plurality of sets of mobile station datacorresponding to a respective one of a plurality of mobile stationsserved by said mobile communication network; receiving user data to betransmitted to communication apparatus served by said mobilecommunication network or another communication network from one of saidplurality of mobile stations; extracting a set of mobile station datacorresponding to said one of said plurality of mobile station data fromsaid plurality of sets of mobile station data; adding extracted all or apart of said set of mobile station data to said user data; transmittinguser data to which said all or a part of said set of mobile station datais added to said communication apparatus.